/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package air_hockey_v2.engine;

import java.awt.GridLayout;
import java.util.LinkedList;
import java.util.ListIterator;
import javax.swing.JLabel;
import javax.swing.JPanel;

/**
 *
 * @author Matheus Cintra
 */
public class Pontuacoes {

    public class Listas {

        public Listas() {
        }
        public LinkedList<String> listaNome;
        public LinkedList<Integer> listaPlayer;
        public LinkedList<Integer> listaCpu;
    }
    private Listas listas = new Listas();

    public Pontuacoes() {
        try {
            listas = Arquivo.lePontuacoes(listas);
            if (listas.listaNome == null) {
                listas.listaNome = new LinkedList<String>();
            }
            if (listas.listaPlayer == null) {
                listas.listaPlayer = new LinkedList<Integer>();
            }
            if (listas.listaCpu == null) {
                listas.listaCpu = new LinkedList<Integer>();
            }
        } catch (ClassNotFoundException ex) {
        }
    }

    public void add(String nome, int player, int cpu) {
        if (listas.listaNome.size() == 10) {
            listas.listaNome.removeLast();
        }
        if (listas.listaPlayer.size() == 10) {
            listas.listaPlayer.removeLast();
        }
        if (listas.listaCpu.size() == 10) {
            listas.listaCpu.removeLast();
        }
        listas.listaNome.addFirst(nome);
        listas.listaPlayer.addFirst(player);
        listas.listaCpu.addFirst(cpu);

        Arquivo.gravaPontuacoes(listas);
    }

    public JPanel imprimePontuacoes() {
        String auxNome;
        JPanel panel = new JPanel(new GridLayout(10, 1));
        int auxPlayer, auxCpu;
        if (!listas.listaNome.isEmpty() && !listas.listaPlayer.isEmpty() && !listas.listaCpu.isEmpty()) {
            ListIterator<String> iteratorNome = listas.listaNome.listIterator(0);
            ListIterator<Integer> iteratorPlayer = listas.listaPlayer.listIterator(0);
            ListIterator<Integer> iteratorCpu = listas.listaCpu.listIterator(0);
            while (iteratorNome.hasNext() && iteratorPlayer.hasNext() && iteratorCpu.hasNext()) {
                auxNome = iteratorNome.next();
                auxPlayer = iteratorPlayer.next();
                auxCpu = iteratorCpu.next();
                panel.add(new JLabel(auxNome + " : " + auxPlayer + " | " + auxCpu + " :Cpu"));
            }
        }
        return panel;
    }
}
